Business Intelligence (BI) generally refers to software tools used to improve business enterprise decision-making. These tools are commonly applied to financial, human resource, marketing, sales, customer and supplier analyses. More specifically, these tools can include: reporting and analysis tools to present information; content delivery infrastructure systems for delivery and management of reports and analytics; data warehousing systems for cleansing and consolidating information from disparate sources; and, data management systems, such as relational databases or On Line Analytic Processing (OLAP) systems used to collect, store, and manage raw data.
There are a number of commercially available products to produce reports from stored data. For instance, Business Objects Americas of San Jose, Calif., sells a number of widely used report generation products, including Crystal Reports™, Business Objects OLAP Intelligence™, Business Objects Web Intelligence™, and Business Objects Enterprise™. As used herein, the term report refers to information automatically retrieved (i.e., in response to computer executable instructions) from a data source (e.g., a database, a data warehouse, and the like), where the information is structured in accordance with a report schema that specifies the form in which the information should be presented. A non-report is an electronic document that is constructed without the automatic retrieval (i.e., in response to computer executable instructions) of information from a data source. Examples of non-report electronic documents include typical business application documents, such as a word processor document, a spreadsheet document, a presentation document, and the like. Report generators, such as the commercially available products listed above, include executable code to produce a report.
Prompts may be used when generating a report. A prompt is a variable used to retrieve a value specified by a user. A prompt is typically used with a set of prompts in a hierarchy. For example, a report may have a query definition that retrieves world wide sales data. A prompt can be specified so that only data for a specific geographic region, for example Chicago, is displayed when the report is generated. Prompts are frequently structured in a hierarchy. For example, geography related prompts may specify a country, state, and city. This hierarchy of prompts is separate from the underlying data and does not include the specific data from the underlying data source within its definition. For example, in the case of hierarchical prompts based on geography, a match between two hierarchies of prompts is not dependent on the underlying data sources containing consistent data values for country, state or city
Hierarchies of prompts can be both managed and unmanaged. Managed hierarchies of prompts are processed in a managed environment, while unmanaged hierarchies of prompts exist almost anywhere, such as in a report. An unmanaged hierarchy of prompts is static. On the other hand, a managed hierarchy of prompts can be periodically updated and populated by the managed environment.
When a report is imported into a managed environment a list of prompts associated with the report may be created. If a report is imported into the system more than once, multiple lists of prompts are created—one for each imported report that contains a hierarchy of prompts. This is true even if the hierarchy of prompts has not changed. Thus, as shown in FIG. 1, a system may simultaneously manage a set of reports (e.g., Report_1 through Report_N) and corresponding lists of prompts (e.g., List of Prompts_1 through List of Prompts_N). The overhead for the creation and maintenance of such objects can be expensive, affecting the performance and scalability of the system.
In view of the foregoing, it would be desirable to provide an improved technique for generating reports. In particular, it would be desirable to provide a technique for generating a list of prompts that could be shared by many reports.